home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / SampleStorageActual.h < prev    next >
Text File  |  1994-08-23  |  2KB  |  59 lines

  1. /* SampleStorageActual.h */
  2.  
  3. #ifndef Included_SampleStorageActual_h
  4. #define Included_SampleStorageActual_h
  5.  
  6. /* SampleStorageActual module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* FixedPoint */
  12. /* SampleConsts */
  13. /* Memory */
  14.  
  15. #include "FixedPoint.h"
  16. #include "SampleConsts.h"
  17.  
  18. struct SampleStorageActualRec;
  19. typedef struct SampleStorageActualRec SampleStorageActualRec;
  20.  
  21. /* create a new sample storage object, with the array zeroed out */
  22. SampleStorageActualRec*        NewSampleStorageActual(NumBitsType NumBits,
  23.                                                         NumChannelsType NumChannels, long NumSampleFrames);
  24.  
  25. /* dispose of a sample storage object */
  26. void                                            DisposeSampleStorageActual(SampleStorageActualRec* Storage);
  27.  
  28. /* get the number of bits the sample storage object contains */
  29. NumBitsType                                GetSampleStorageActualNumBits(SampleStorageActualRec* Storage);
  30.  
  31. /* get the number of channels the storage object contains */
  32. NumChannelsType                        GetSampleStorageActualNumChannels(
  33.                                                         SampleStorageActualRec* Storage);
  34.  
  35. /* get the number of sample frames the object contains */
  36. long                                            GetSampleStorageActualNumFrames(
  37.                                                         SampleStorageActualRec* Storage);
  38.  
  39. /* get the value of a sample frame */
  40. largefixedsigned                    GetSampleStorageActualValue(SampleStorageActualRec* Storage,
  41.                                                         long Index, ChannelType WhichChannel);
  42.  
  43. /* change the value of a sample frame */
  44. void                                            SetSampleStorageActualValue(SampleStorageActualRec* Storage,
  45.                                                         long Index, ChannelType WhichChannel,
  46.                                                         largefixedsigned NewValue);
  47.  
  48. /* get a reference to the raw data.  The raw data will either be an array of chars */
  49. /* (for 8-bit data) or an array of shorts (for 16-bit data).  There will be */
  50. /* GetSampleStorageActualNumFrames + 1  frames; the extra one at the end is to */
  51. /* make anti-aliasing more efficient, and repeats the second-last word of data */
  52. char*                                            GetSampleStorageActualRawData(SampleStorageActualRec* Storage);
  53.  
  54. /* get a copy of a particular channel of data from the sample */
  55. largefixedsigned*                    SampleStorageActualGetChannelFixed(
  56.                                                         SampleStorageActualRec* Storage, ChannelType WhichChannel);
  57.  
  58. #endif
  59.